package com.example.xyblog.Common;


import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;

import java.util.UUID;

/**
 * 加密算法
 */
public class SecuryUtil {
    /**
     * 加密
     * @param password
     * @return
     */

    public static String encryption(String password){
        String salt= UUID.randomUUID().toString().replace("-","");
        //加密后的密码
        String en_password= DigestUtils.md5DigestAsHex((salt+password).getBytes());
        return salt+en_password;
    }

    /**
     * 解码
     * @param password 用户输入的passwor
     * @param right_password 数据库里的password
     * @return
     */
    public static boolean decryption(String password,String right_password){
        if(right_password.length()!=64){
            return false;
        }
        if(!StringUtils.hasLength(password) && !StringUtils.hasLength(right_password)){
            return false;
        }

        //拿到盐值
        String salt=right_password.substring(0,32);
        //对用户的输入密码进行加密
        String en_password=DigestUtils.md5DigestAsHex((salt+password).getBytes());
        if((salt+en_password).equals(right_password)){
            return true;
        }else{
            return false;
        }
    }

}

